#ifndef MAZE_H
#define MAZE_H
#include <stdlib.h>
#include <stdio.h>
#include <cstring>
#include <iostream>
#include "node.h"




class Maze
{
public:
    Maze(Node Inicial_, Node Final_,int row_,int col_);
    Maze(int row_,int col_);
    Maze();
    ~Maze();
    int setSaddles(int row_, int col_,LAB t);
    int setSolution(int row_, int col_);
    short int getSaddles(int row_, int col_);
    friend std::ostream&  operator<< (std::ostream&  s, const Maze & M);
    Maze & operator=(const Maze &b);
    void setInicial(Node Inicial_);
    void setFinal(Node Final_);
    int col,row;
    short int getPos(int i);
    Node getInicial();
    Node getFinal();
    void Rand();
 private:
    Node Inicial,Final;
    short int *Vec;
};

#endif // MAZE_H
